﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Xml;

namespace Elegant
{
    public partial class frmPrincipal : Form
    {
        frmImagem frmimagem = new frmImagem();
        frmTicket frmticket = new frmTicket();

        //Pega o Caminho onde esta o sistema.
        string caminho = Application.StartupPath;

        public frmPrincipal()
        {
            InitializeComponent();
        }

        private void frmPrincipal_Load(object sender, EventArgs e)
        {

            tslblDataResult.Text = DateTime.Now.ToLongDateString();

            this.SelecionaImagem();
        }

        /// <summary>
        /// O metodo Realiza a indicação de qual lingua esta sendo 
        /// usada pelo sistema.
        /// </summary>
        private void SelecionaImagem()
        {
            XmlTextReader xmlLinguagemSelecao = new XmlTextReader(this.caminho + @"\Teste\Linguagem.xml");
            string lingua = "";
            while (xmlLinguagemSelecao.Read())
            {
                switch (xmlLinguagemSelecao.NodeType)
                {
                    case XmlNodeType.Text:
                        lingua = xmlLinguagemSelecao.Value;
                        break;
                }
            }

            if (lingua == "pt-br")
            {
                potuguêsToolStripMenuItem.Image = System.Drawing.Bitmap.FromFile(@"./icono_check.gif");
            }
            else
            {
                potuguêsToolStripMenuItem.Image = null;
            }

            if (lingua == "en-CA")
            {
                inglêsToolStripMenuItem.Image = System.Drawing.Bitmap.FromFile(@"./icono_check.gif");
            }
            else
            {
                inglêsToolStripMenuItem.Image = null;
            }
        }

        /// <summary>
        /// Realiza a Pesquisa e Abertura dos Arquivos de Logs
        /// gerados.
        /// 
        /// Inglês
        /// It conducts research and the Opening of the Archives 
        /// of logs generated.
        /// </summary>
        private void AbiriArquivoLogo()
        {
            OpenFileDialog openFile = new OpenFileDialog();
            openFile.InitialDirectory = @"C:\Documents and Settings\Softex 03\Meus documentos\TesteElegant";
            openFile.Filter = "*.log|*.log|All Files(*.*)|*.*";
            openFile.ShowDialog();
            //openFile.OpenFile();
        }

        private void potuguêsToolStripMenuItem_Click(object sender, EventArgs e)
        {
            //Coloca a Configuração do arquivo de Linguagens Para English
            XmlTextWriter xmlPortugues = new XmlTextWriter(this.caminho + @"\Teste\Linguagem.xml", null);

            xmlPortugues.Formatting = Formatting.Indented;
            xmlPortugues.Indentation = 6;
            xmlPortugues.Namespaces = false;

            xmlPortugues.WriteStartDocument();
            xmlPortugues.WriteStartElement("", "Linguagem", "");
            xmlPortugues.WriteString("pt-br");

            xmlPortugues.WriteEndElement();
            xmlPortugues.Flush();
            xmlPortugues.Close();

            MessageBox.Show("Para que a alteração tenha efeito é necessário reiniciar o Programa", "Aviso", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
        }

        private void importarTicketToolStripMenuItem1_Click(object sender, EventArgs e)
        {
            this.frmimagem.Dispose();

            frmticket = new frmTicket();
            frmticket.MdiParent = this;
            frmticket.Show();
        }

        private void importarImagemToolStripMenuItem1_Click(object sender, EventArgs e)
        {
            this.frmticket.Dispose();

            frmimagem = new frmImagem();
            frmimagem.MdiParent = this;
            frmimagem.Show();
        }

        private void logTicketToolStripMenuItem1_Click(object sender, EventArgs e)
        {
            this.AbiriArquivoLogo();
        }

        private void sairToolStripMenuItem_Click(object sender, EventArgs e)
        {
            this.Dispose();
        }

        private void inglêsToolStripMenuItem_Click(object sender, EventArgs e)
        {
            XmlTextWriter xmlPortugues = new XmlTextWriter(this.caminho + @"\Teste\Linguagem.xml", null);

            xmlPortugues.Formatting = Formatting.Indented;
            xmlPortugues.Indentation = 6;
            xmlPortugues.Namespaces = false;

            xmlPortugues.WriteStartDocument();
            xmlPortugues.WriteStartElement("", "Linguagem", "");
            xmlPortugues.WriteString("en-CA");

            xmlPortugues.WriteEndElement();
            xmlPortugues.Flush();
            xmlPortugues.Close();

            MessageBox.Show("Para que a alteração tenha efeito é necessário reiniciar o Programa", "Aviso", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
        }
    }
}
